﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Noris.Tools.TraceVisualiser.Pics
{
    public static class PicLibrary
    {
        #region Image Bgr1
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr1.png.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu Bgr1_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property Bgr1, která vrací vždy nový objekt.
        /// Pro používání pro Button.Image, kde bude nastavováno Button.Enabled = false; je třeba použít property Bgr1_FromFile.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr1.png
        /// </remarks>
        public static System.Drawing.Image Bgr1_Cached
        {
            get
            {
                if (_Bgr1 == null) _Bgr1 = Bgr1;
                return _Bgr1;
            }
        }
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr1.png.
        /// Nelze používat jako Image pro Buttony, kde bude nastavováno Enabled = false (pak dojde k chybě .NET: Ot of memory).
        /// Pak je třeba použít Image Bgr1_FromFile.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr1_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr1_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr1.png
        /// </remarks>
        public static System.Drawing.Image Bgr1 { get { return _ImageCreateFrom(_Bgr1_string, null); } }
        /// <summary>
        /// Vrátí obrázek, načtený ze souboru Bgr1.png.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr1_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr1_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr1.png
        /// </remarks>
        public static System.Drawing.Image Bgr1_FromFile { get { return _ImageCreateFrom(_Bgr1_string, "Bgr1.png"); } }
        /// <summary>
        /// Vygeneruje a vrátí string, který definuje obsah souboru Bgr1
        /// </summary>
        /// <returns></returns>
        private static string _Bgr1_string()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder(224);
            sb.Append("iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3");
            sb.Append("YXJlAFBhaW50Lk5FVCB2My41Ljg3O4BdAAAAGElEQVQYV2MQduz7bxuNwAwwDkyCgaAKAFPoIUHVSL3TAAAAAElFTkSuQmCC");
            return sb.ToString();
        }
        /// <summary>
        /// Resetuje obrázek v paměti.
        /// Následující použití property Bgr1_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void Bgr1_Reset()
        {
            _Bgr1 = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití Bgr1_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Image _Bgr1 = null;
        #endregion
        #region Image Bgr2
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr2.png.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu Bgr2_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property Bgr2, která vrací vždy nový objekt.
        /// Pro používání pro Button.Image, kde bude nastavováno Button.Enabled = false; je třeba použít property Bgr2_FromFile.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr2.png
        /// </remarks>
        public static System.Drawing.Image Bgr2_Cached
        {
            get
            {
                if (_Bgr2 == null) _Bgr2 = Bgr2;
                return _Bgr2;
            }
        }
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr2.png.
        /// Nelze používat jako Image pro Buttony, kde bude nastavováno Enabled = false (pak dojde k chybě .NET: Ot of memory).
        /// Pak je třeba použít Image Bgr2_FromFile.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr2_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr2_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr2.png
        /// </remarks>
        public static System.Drawing.Image Bgr2 { get { return _ImageCreateFrom(_Bgr2_string, null); } }
        /// <summary>
        /// Vrátí obrázek, načtený ze souboru Bgr2.png.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr2_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr2_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr2.png
        /// </remarks>
        public static System.Drawing.Image Bgr2_FromFile { get { return _ImageCreateFrom(_Bgr2_string, "Bgr2.png"); } }
        /// <summary>
        /// Vygeneruje a vrátí string, který definuje obsah souboru Bgr2
        /// </summary>
        /// <returns></returns>
        private static string _Bgr2_string()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder(232);
            sb.Append("iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3");
            sb.Append("YXJlAFBhaW50Lk5FVCB2My41Ljg3O4BdAAAAHUlEQVQYV2MQduz7b+5X/t82ug+MGWAMmAQDQRUAPtggmduxJKYAAAAASUVORK5CYII=");
            return sb.ToString();
        }
        /// <summary>
        /// Resetuje obrázek v paměti.
        /// Následující použití property Bgr2_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void Bgr2_Reset()
        {
            _Bgr2 = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití Bgr2_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Image _Bgr2 = null;
        #endregion
        #region Image Bgr3
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr3.png.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu Bgr3_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property Bgr3, která vrací vždy nový objekt.
        /// Pro používání pro Button.Image, kde bude nastavováno Button.Enabled = false; je třeba použít property Bgr3_FromFile.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr3.png
        /// </remarks>
        public static System.Drawing.Image Bgr3_Cached
        {
            get
            {
                if (_Bgr3 == null) _Bgr3 = Bgr3;
                return _Bgr3;
            }
        }
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr3.png.
        /// Nelze používat jako Image pro Buttony, kde bude nastavováno Enabled = false (pak dojde k chybě .NET: Ot of memory).
        /// Pak je třeba použít Image Bgr3_FromFile.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr3_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr3_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr3.png
        /// </remarks>
        public static System.Drawing.Image Bgr3 { get { return _ImageCreateFrom(_Bgr3_string, null); } }
        /// <summary>
        /// Vrátí obrázek, načtený ze souboru Bgr3.png.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr3_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr3_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr3.png
        /// </remarks>
        public static System.Drawing.Image Bgr3_FromFile { get { return _ImageCreateFrom(_Bgr3_string, "Bgr3.png"); } }
        /// <summary>
        /// Vygeneruje a vrátí string, který definuje obsah souboru Bgr3
        /// </summary>
        /// <returns></returns>
        private static string _Bgr3_string()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder(260);
            sb.Append("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3");
            sb.Append("YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAADFJREFUKFNj8Oz8/9+u6OF/4+jD/zVdlv2X0+34LyKeDccMyBxsbCoqwOUWKlqByzcALiVslyAyKL8AAAAASUVORK5C");
            sb.Append("YII=");
            return sb.ToString();
        }
        /// <summary>
        /// Resetuje obrázek v paměti.
        /// Následující použití property Bgr3_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void Bgr3_Reset()
        {
            _Bgr3 = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití Bgr3_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Image _Bgr3 = null;
        #endregion
        #region Image Bgr4
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr4.png.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu Bgr4_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property Bgr4, která vrací vždy nový objekt.
        /// Pro používání pro Button.Image, kde bude nastavováno Button.Enabled = false; je třeba použít property Bgr4_FromFile.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr4.png
        /// </remarks>
        public static System.Drawing.Image Bgr4_Cached
        {
            get
            {
                if (_Bgr4 == null) _Bgr4 = Bgr4;
                return _Bgr4;
            }
        }
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Bgr4.png.
        /// Nelze používat jako Image pro Buttony, kde bude nastavováno Enabled = false (pak dojde k chybě .NET: Ot of memory).
        /// Pak je třeba použít Image Bgr4_FromFile.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr4_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr4_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr4.png
        /// </remarks>
        public static System.Drawing.Image Bgr4 { get { return _ImageCreateFrom(_Bgr4_string, null); } }
        /// <summary>
        /// Vrátí obrázek, načtený ze souboru Bgr4.png.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití Bgr4_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property Bgr4_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Bgr\Bgr4.png
        /// </remarks>
        public static System.Drawing.Image Bgr4_FromFile { get { return _ImageCreateFrom(_Bgr4_string, "Bgr4.png"); } }
        /// <summary>
        /// Vygeneruje a vrátí string, který definuje obsah souboru Bgr4
        /// </summary>
        /// <returns></returns>
        private static string _Bgr4_string()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder(248);
            sb.Append("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3");
            sb.Append("YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAClJREFUKFNj4OQ2/o8PM4AkhcQzUBTxCQXC+WAFBE2gngJku2Fuo9wNACzsUmlf0WH4AAAAAElFTkSuQmCC");
            return sb.ToString();
        }
        /// <summary>
        /// Resetuje obrázek v paměti.
        /// Následující použití property Bgr4_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void Bgr4_Reset()
        {
            _Bgr4 = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití Bgr4_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Image _Bgr4 = null;
        #endregion
        #region Image HeliosLogo
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Helios-logo-212x53.png.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu HeliosLogo_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property HeliosLogo, která vrací vždy nový objekt.
        /// Pro používání pro Button.Image, kde bude nastavováno Button.Enabled = false; je třeba použít property HeliosLogo_FromFile.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Helios-logo-212x53.png
        /// </remarks>
        public static System.Drawing.Image HeliosLogo_Cached
        {
            get
            {
                if (_HeliosLogo == null) _HeliosLogo = HeliosLogo;
                return _HeliosLogo;
            }
        }
        /// <summary>
        /// Vrátí obrázek, vytvořený na základě obrázku Helios-logo-212x53.png.
        /// Nelze používat jako Image pro Buttony, kde bude nastavováno Enabled = false (pak dojde k chybě .NET: Ot of memory).
        /// Pak je třeba použít Image HeliosLogo_FromFile.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití HeliosLogo_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property HeliosLogo_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Helios-logo-212x53.png
        /// </remarks>
        public static System.Drawing.Image HeliosLogo { get { return _ImageCreateFrom(_HeliosLogo_string, null); } }
        /// <summary>
        /// Vrátí obrázek, načtený ze souboru Helios-logo-212x53.png.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití HeliosLogo_Cached
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho Image (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat obrázek často a rychle, je možné využít property HeliosLogo_Cached.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Helios-logo-212x53.png
        /// </remarks>
        public static System.Drawing.Image HeliosLogo_FromFile { get { return _ImageCreateFrom(_HeliosLogo_string, "Helios-logo-212x53.png"); } }
        /// <summary>
        /// Vygeneruje a vrátí string, který definuje obsah souboru HeliosLogo
        /// </summary>
        /// <returns></returns>
        private static string _HeliosLogo_string()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder(6232);
            sb.Append("iVBORw0KGgoAAAANSUhEUgAAANQAAAA1CAYAAAA5xsU/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3");
            sb.Append("YXJlAFBhaW50Lk5FVCB2My41Ljg3O4BdAAARsklEQVR4Xu2dC3gU1dnHDSBW6+1prVQqAiHZzeZ+v0ISIBAgIAEEQa4iCiVcqhDuJCGBQEgChCSEWwjEEDCglIsgBA2g");
            sb.Append("VWgVsSrVfvr1sfUr1fK1X7I7M5vdzc73f4fddF3Ynclmd90Nk+d5nxDmzJxz3nN+857znvecuece+UfWgKwBmxrQvdfQU70qdaE6N32vrCZZA7IGHNSA/pNGH03e8Kdb");
            sb.Append("FoX9qXmuP9+yLPG4g4+Sb5M14N0aUOckr2bKJj/laC3Y7RNj1CujLrQsBEhZ/nzzPBkoR3Up39cFNKBeGnhNna1iNQWJm7hX5z0stUpczcy+mvyYWvVypVG9xI9Xv+zH");
            sb.Append("tyyGLPDn1StlCyVVj3K6LqYB9UoAtdyP16yE5AV9z5QOmq+7VHmvrWpyB194iClOKNTkBbCaNQN4zaoBvHoFgMqGAKyW3+D3GhmoLtZN5OpI1YBmbeA1zWqAsRaSC1k3");
            sb.Append("gGeKwr7gdqU/beSafczP0V9ruJetTJ3PbAr6jsm/lU6TB8mBmMECmOqlADM3QZ5DSW0AOV3X0oAmT3WtHaQCwLQBUgjZ6MezZZHvcPtHR1CNuX1jhjClIX9nNpquU7r1");
            sb.Append("EIKLQCQgASZZK02BDFTX6iVybSRrgFmvukZQCCARLJsgm315phhS4suzW/zauKqYWu3rM/q0nl31U7YqIZcpDdAwRab0dB9AFCwWWSuydoUyUJIbQE7YtTTAbARQZJFM");
            sb.Append("ILECRJCtkG2QMpNUKBlub1yB7uK6h7Wvz+zN7oitZkr929rBImtlgoopkoHqWr1Ero1kDTCbARRZGzNIBNF2SLkvz1X2vyU7TL/p3ztV/+BqU+bqP9zdXXt4UhhbEXmO");
            sb.Append("2WxhrWgOViwDJbkB5IRdSwPMlqAPBatEFolAqgBIAEi7E7ILsttC6G/8P1cF2R3ymfbQyAyjttmH2zdsBFsW9pkwZISlYrfIQHWtXiLXRrIGtEdn9OZ2xexjy/0MZI0E");
            sb.Append("kAiivf341mrIPgvB3/T/wnUCawfg2xNxTvvauDD9xwd7sDuTX2KKg26w22SgJDeAnLDraED3/tb7tG/M8KMatR7JDNPWhJ/T7ul/C6L9kAN9+dbavrzOJMLf+yG4LoAF");
            sb.Append("i0XWiq0EjHtia7RHnuvdenLpQ9yrkzO6jpbkmsgaENGA4a+XfbjqtIlsefBXbLm/Xrsvapfu7Lwn6DbdsfRRrfVBn+leBUgHn+J19ZBDpt/0d90tyATgyGIRVBgiCsPF");
            sb.Append("7SqG3ZmQ13pu7UNyI8gauCs0wO3LTGC3hb8nOCHIAQHngxZWRlutaNE1JOYYLs2/3/BBdnf9yeR5+qOKG/qGPrz+iElew+/DgIrAMkHVbqkwXBQ8gqVwt5cGfsvuHDJH");
            sb.Append("/3FD97tCqXIl7z4NcDVTfdmS6MPMRn8jefWo4xMAwrwJVkaYL2FIpzsc8Df9qZRZxu/f6972YfbDhjcj8w3HfRnDsSd5/esmsExQCZaKhn8YJgpDP8BJzg1hDYscFEWh");
            sb.Append("19gdI4fffdqWa9xlNcDunfkIsymxRLNOydECrNDR0eEFr57ZOu0BTDX9eGGYhyEeWSXDicCrbU1pQ0gxbZen9jGcDT1gOPGUwfCGBVQ0/MOcSrBS5KSoAFSwemT9hHUt");
            sb.Append("ePw0eX6IvIh+i901JbTLKlmuWNfXgO69up6aguRF6tVBN4XoBYQH/QAoGu7BRS549cijBzB0dYAJ1kd/FED99km+7dSv+La3VSeMVzJUAliX0iMMZ0Ka9AQVoCP42q0U");
            sb.Append("zaUsh320toUoCiHeD7F+6pUKvSY3bjdbfWuuJv/IGvAaDWjy0jPV2eH/RVsq1MsQW2cGiqIZyHKY5k9kUX4w3MPcSE/zJABjOAGYzjzBG8/14o3v9DYYL6kqjNdm9yIl");
            sb.Append("GBqHjtYfC7guOCvMwz640tudEzSPMgNF0RMEFEWkUzT6K4Fq9YrENVx9zgNeo1C5oHevBjSbn326ZUEg07Lw1h4lu0BZz58IKBruEVAnAdRbv+SN5x/njU2/4I1v4/eF");
            sb.Append("kDPGr7b3FKB6d6ZCfzT4f2iYSMNFWptqBwqhSzaBWgSo5iuM2CZfefe2klxzr9IAs236k+qVcQfUSxQGhywUnA+ChTr9BN9GFqqp39fG95Mm8y1fdGu7MvtRw+moEv1R");
            sb.Append("X63gUre2UGZPnw0LpV4e8QdN0bjBXqVQubCyBkgDzNbMSE1edJNmNe1RsppDmZ0SP5hD9f3BHMpw2vffbReis41f5N5n/Kq8p+F8zCLDSb+bgrcPQ0NynwuLveb1KMs5");
            sb.Append("VLtTwrRfam3IN0zh4Km6d+u7ya0ja8BrNdD27XUfdlv6GGZD6HVhmwZFlmN7hhBRjsVYcncL0RHk5aOICPLyHenfajgVXtZ2+YXHjDff9zGcT8o0nFb8mRwVgkMC61LC");
            sb.Append("/MnKy0dOjtu8fAWqZmZz0srWt4rlOZPX9iK54LdpQHfl1Z5s+eAspijwO9vrUP153ZHwY/rGcQphnvT2mFj9ieCLgqucxHodiqwTrUNZz59oP9UmhY7dGlfFHXpJcGTI");
            sb.Append("P7IGuqQGWo+//AhbEb+R3arkzGtRgpU6EPp73fGMFKq0vnFqP93RsDr9a/2NgtePoiVIaEFXsEwmdzk5IyzXoGj+tAWLxuXRp7gDEwRXu/wja+Cu0IC2YXpfriqqjt0R");
            sb.Append("8t/a+uHT9RdzfHRnZj7Ueji+qLXWjxWGfwCnPZ5PiOODkFePLJMZJvP6E8XyVYZ+xNVmDJWswPS0tOLkpIE2Zea06T+T/LA7JPz46tWfDE1JtZsH8rc5Fs3LyXlw+NC0");
            sb.Append("YTERkVlxUdHr8bvY2ZKSNLDQXPSkuPgse8+fOnlKZGf0YX1v6sBBy0Tqo7SV3xtHX+85Im1YPMr866iw8PzQwKDi4ABVpyU+JqYoKjxiEco2fF1u7qNS6nv6zTe7ZYwY");
            sb.Append("mYo2Wh4eHNKhMlB6sTZNio9fc77xvM2Ti6zLqP/8tXu1tclZ2j2q72n4JoQhARghspzgsRT6f3JCILrCHBjLVQV9y+1PnWn4urEbVz06mqt+eoUUPdwTogrkB/TtZ1NG");
            sb.Append("DBvuK+lBNhJd/uCDRwL8/O3mgfx/bn37xHHjlZGhYQdxr9Ze+ZxxDTrgzPmrFMrf2Xvm6JGjpnVGH9b3hgUFfylShxHW97ww6/nHoJviIGXAv5xRf3vPUA7wawWsbzwz");
            sb.Append("brzNF8mkCc+EQ4efuLosiXFx26XoHlHno2BZvhQcFFjoFYZ/tJEQjor2PVEEGAkN7wgk836onUo1V5O0VvfOqge0DdP6seUxBylWUPJ+KE8EakhK6hSAxLm6gczP9yag");
            sb.Append("MkePGQgr9J27dGPOR+E7QI8Ovdi6Q0+eOKlvUIDqf91RHr9+/XlYzSwxqJgSbIE3b3+nOZB56zuBZd61S4CZdutSZDpX5afX1sTt1R6b2qv13IpHcb7ERqZEyZp37DKl");
            sb.Append("EjcYehpQGekjBuOtaHBHA3kbUBMyM/3xovm3O3VjmRd1aLzs5lh26OiIyHp3lof6Boa5I+1BxRQBKFozooBZikCn9SkCy3yuBFktOkuCAl8rfI3YoXtae3RiiO5SUQ9u");
            sb.Append("T3IWu1X1veVBLcK5flLPlPAkoPZVV3fDEOi6OxuI8vIWCxUdHtHobt1Y56fyVzS/vHjxL6lDZy9Z8jA6uNtGEuayBCqUzbDUwbagYgoBlPkIMTpshawVgWV58hECabmq");
            sb.Append("0E+0BzPShTMk9o8Yy5aF/Ek4boxgpLUti6PEmE1eaKEwP0n+MTqMNwA1fmxmoH9/X7G5qFuuwyotp848ODk57cdoL8oTw96/TH9u6h3XgzQFpnP5KHDWfJwYhQ2ZzuZj");
            sb.Append("y4JvcHsGzdZfq+3O1Y6NYrdHvCOcckQg0VYQgpEOu6SocjrsEkczazZ4IVCY/Gb/GA3kDUDBOv0ourlTe0SEhF4moGKjorPstRcsyb8w55mWGBcf5wqZMmlS7ztZKeHk");
            sb.Append("WDqgEkAIkRQEFkFSpNKwFYl5rWdWPEj3cXXPjsSRY7r2k2Mpndkq0cmxFscxa/K9ECi4XLeLAYUh4dXBySljnskcF+0smTblP65wT/XywavXIKYbWDAj3M/1qYOSR8ET");
            sb.Append("6Huwrq5PvQRZmJXVZ2jq4GS80IoxR2PF8glUBrAXmpp6IK9ce2kTYmLXizkQXHFdswZnm5NVISAIrHxFG1sau097aPavrPPj9k8IZUuizjL59GEBqyOY8bEBCsSlLRqa");
            sb.Append("HC8EKjoiotxeA6Gx1S+9MOcXrmgET3ebhwYFv29PN+QwABTTO6ubaVOeS4CeGbG8li1d2guW3S5QAHRuZ8vjyP3qFfj6BoGA/UrM+qhGtipTdGctuyNjBFMQ9qlwljmB");
            sb.Append("ZPpIgPqVW5+0Ua+W+PUNT3JKiAGFt/QFRxTckXs81ULBMttd54kMC7vYkXraS4shXZGYlVo4P8s/ITZ2rb10EaFhdc4qU0eeQ9+H0qyK+JwpTr9tDc/ec1rPlXRjitPm");
            sb.Append("qlcF3xBAwmdsWmivEz66hg2E0r6+IQYUvDpfQj51VLD4+Dm9PUUaSFjYFQMqPjrm7bKtW3s4W3ZUVPTwdAslBhSGX6s70unspU0fmjZKDKi5c+b4I8/nxSwZXoJnkWZL");
            sb.Append("ZwT9ZwusXVHKwEGzFi9Y+JhYPTVFY0fqPz7V3qZi6W8bBh5a8aB6TcK6lt9gU+P8Dn7BUAwoMcU66bokoLC4yANQpws6hsdHSogBFRYc4rThVXhIaKhYuxJQWA9KEEvn");
            sb.Append("7OtwdLCDByVndxQSR9IzlXOebFkaV9M8T2mQ/I1dbwLK2Y1jfp43ePncCRT0EiSmawJqQ8H6nrQmJJbWFdcRf7nSEUgcuUezcXyEZkPmEkn3ykB5x8KuJwJFHSw2MqrS");
            sb.Append("FcCIPZNiDJ97dnI/SZ3cnYlkoGSgrPubVAtF9z0/Y+bjWGT9uxgArrgeHxOb705WJOUlAyUD1Rmg6N7xY8cGwa3/uSugsfdMzPV+J6mTuzORNwEFh8Q/IPXOFjglDni7");
            sb.Append("lw/etNsiwR3tRyOHD08Rg4PmUJbPP3H8+L1YBxsN58hG6LMO5anvjGCPFLXzt/bKges3Ha2jy+4TAwoelU1Q1DJHBZvOcsg75wy3Ocbr512mCNODvXUdChsCa5ylG2zT");
            sb.Append("sBtSRG1pDZSz8rZ8TvYrS3rB6dFiq+8EKpX84fr6+12Rt8PPFAPKnRsMxdahUNa/VJZX+DhcWQk3ejBQH9l7KSG64f8QRdJHQhXtJlmxbFlPOEA+FbNQiDjvdF5SygpL");
            sb.Append("dcFWWehFDceEDNQdFCRpHYruS4yNKzpQs1846dMVP54KFF4mJ8U6Oe3+nTA2c+Dvr1xx6KWD6G0FhmlvieWj9PM37N650y0dGdv6r9i0UAolf6Cmxi3lkNzXPMlCxURG");
            sb.Append("FYo1Jl0PVgX+E5EbTRgOOEUQyX1W6hwKHq3rnc0X3qlGc35St8BHInBVim4oDTrhDejnotRyki5xz9cUXCslD/SZP0vuYJ1I+My4ccNQJpubTSmavROPd82tngQUQosm");
            sb.Append("S2lQZ6fpyMKuM/KGFdB1FKhhQ4aIhgM5o2xSnoFYvyoq/8Tx40Mw7KLh4RfOFkD+N4Qc2QUcw8GPXENFJ57qSUDNnjXr5+48S8LcebwBqE2FhT1gHf8qpcO7Mg3FZcJy");
            sb.Append("JJi7HLbSLJQQqynmlHLoOkYWZZ3o+q651ZOAohrCSm12ZYe407O9ASjSzZDklOnu1o11fnCJN1j2xObmZh/Ma/e6u1wmsAe6hopOPNXTgEI08X148zS5s4G8BShqZpzB");
            sb.Append("Z3fPmCv1hqHqJ7NmzHjEurttKSm9D1s13nVl3ncA+81OdHvX3eppQFFNMbz5CXZ7blYMGCC6e9QZjehNQH36xz/6DEpIzHLn6UeYJ7Vh5FC9aMECm19Cx8ZECkH6xhnt");
            sb.Append("IfYMOFCu4pzA285ydB0lHXiyJwJlLv68F198PCk+IQuT4AYo8TN4dW7iLclbCpXfEcGkl6cDOEnwPMnbN8QaW8p1R5wS1k06d86Lj8ZFx/waE/MTiBj4BiLJQyelfKQT");
            sb.Append("wPFP6PxiXHR0PqySzdNrLcuFEKRIsd2+UvK/Uxq0vYEChAF2duH69R771Yv/BypwPJApbU8IAAAAAElFTkSuQmCC");
            return sb.ToString();
        }
        /// <summary>
        /// Resetuje obrázek v paměti.
        /// Následující použití property HeliosLogo_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void HeliosLogo_Reset()
        {
            _HeliosLogo = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití HeliosLogo_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Image _HeliosLogo = null;
        #endregion
        #region Icon TraceVisualiser
        /// <summary>
        /// Vrátí ikonu, načtenou ze souboru TraceVisualiser.ico.
        /// Vrací přímou referenci na objekt v paměti = volání je velice rychlé (pod 1 mikrosekundu), 
        /// ale protože se vrací živá reference, pak zásahy do vráceného objektu se projeví v objektu v paměti = natrvalo.
        /// Případně je možno vyvolat metodu TraceVisualiser_Reset(), která zajistí regenerování obrázku z jeho definice.
        /// Bezpečnější je používání property TraceVisualiser, která vrací vždy nový objekt.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Ico\TraceVisualiser.ico
        /// </remarks>
        public static System.Drawing.Icon TraceVisualiser_Direct
        {
            get
            {
                if (_TraceVisualiser != null) return _TraceVisualiser;
                _TraceVisualiser = TraceVisualiser;
                return _TraceVisualiser;
            }
        }
        /// <summary>
        /// Vrátí ikonu, načtenou ze souboru TraceVisualiser.ico.
        /// Vrací vždy novou instanci = volání je při častém používání výrazně (až 1000krát) pomalejší než použití TraceVisualiser_Direct 
        /// (kde ale hrozí nebezpečí pokažení obrázku v paměti).
        /// Čas pro vytvoření jednoho objektu Icon (tj. každé jednotlivé čtení této property) pro obrázek velikosti 32x32 px (32bpp) je průměrně 350 mikrosekund.
        /// Pokud je třeba používat ikonu často a rychle, je možné využít property TraceVisualiser_Direct.
        /// </summary>
        /// <remarks>
        /// Plné jméno vstupního souboru:
        /// C:\David\_Cs2010\TraceVisualiser\TraceVisualiser\Pics\Ico\TraceVisualiser.ico
        /// </remarks>
        public static System.Drawing.Icon TraceVisualiser
        {
            get
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder(35592);
                sb.Append("AAABAAgAMDAAAAEACACoDgAAhgAAACAgAAABAAgAqAgAAC4PAAAYGAAAAQAIAMgGAADWFwAAEBAAAAEACABoBQAAnh4AADAwAAABACAAqCUAAAYkAAAgIAAAAQAgAKgQ");
                sb.Append("AACuSQAAGBgAAAEAIACICQAAVloAABAQAAABACAAaAQAAN5jAAAoAAAAMAAAAGAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4EAQA0BwEAPAsCADoY");
                sb.Append("FQA9HhsARREEAEsXBQBRHgcAUyAHAFYjCABZJgoAXSkLAEQhGwBJJR4AYSwNAGQtEQBlMREAajQUAG06FgBtNBkAbjwYAHI3HQBzPRoAQyQjAEwqIwBGKSgASyspAFIt");
                sb.Append("IwBULikAVTEmAFo1JQBcNCoAXTgpAFY+OABjPCwAdTwjAGA3NABnPjAAAEYAAABLAAAITwgAAFQAAABcAAAJUwkACFsIAABjAAAAawAACWEJAAF0AQAAewAAImQiACVr");
                sb.Append("JQAraisAInIiAC1xLQAuey4AMWwxADFzMQAxejEAdUIeAGNBLABqRC4AZUguAHdHIQB6RiAAfUkkAHxCKwBpQjEAb0owAHNMNQB5UzkAAQFeAAAAZAANDWUAAABtAA4O");
                sb.Append("bQAAAHIADQ1zAAAAewANDXwAKipvACQkcgApKXAAJiZ7ADMzdwAyMnwAeWVTAHlnWAB9a1sAgEwnAIBNKQCEUCsAiFQuAIJHMQCESjUAiE08AIlUMgCMWzQAjVY6AI5b");
                sb.Append("PACPYDkAk2I9AI1SQQCSXUIAlFxLAJVkQgCZakQAmGJMAJ1uSQCdckoAm2ZRAJ1oVQChdE4AoWxcAKJ2UQClelQAp31ZAIRzYwCNfWsAiHtzAKVxZACnc2oAqXZyAK58");
                sb.Append("dwAAgwAAAI4AAAiMCAAAkwMAAJsLAAOiEgAJqBYACqkZABCvHwAmlCYAE7IiABi3JwAbuioAI8IyACjHNwAtzDwANNNDADjXRwA72koAQN9PAETjUwBI51cATOtbAFPy");
                sb.Append("YgBY92YAWPdoAFv6agBg/28AZP9zAGv/egBw/38AqYBcAJaGdgCshGEAr4hlAK+KaACyimYAs41sALSPcQC3kXIAuJN0ALqYdwC8m3sAwKB+AAAAggAPD4IADw+HAAAA");
                sb.Append("iwALC4kADg6IAA8PjgAABJIADw+RAAoNlgAPD5QAAA6cAA8RlwAOFZsAKSmHACoqigAyMoMAMzOKACYmlAAvL5YAJCafADMzlQAzM54AABakAAAYpgAPG6AAAB6sAAAg");
                sb.Append("rQAAIrAAACi2AAIruQAHML4ACDG/ADMzowAwNqgAMz2tADRDtAAMNcMAEzzKABdAzgAbRNIAIEnXACNM2gAnUN4AKFHfACxV4wAtWuQAMVroADdg7gA7ZPEAQ2z6AEpz");
                sb.Append("/gB2/4UAe/+KAIWFgwCJiYcAjIyJAJ2QgQCRkI4Ak5ORAJiYlgCcnJoAn5+dAKacjwC+noAApJmUAKCgnACvqJ0AqamlALGxrgDBooQAxKaKAMapjQDHqpEAyq2TAMen");
                sb.Append("nQDMspoA0LagANG6pADUvqoAg/+SANXArADYxrIA3My7AN7QwADj2csA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj7u7u5+7u7u7l7u7u7ufm7u7u7uPu7u7u4e7u7u7k5O7u7u7u7u7uAAAAAAAA");
                sb.Append("AAAA5ABMq8K2srWzs7Gtq6uqqqpQUFBQTk5OTExMSkpKSkpKSlDkAAAAAAAAAAAAAAAA5ABIScHDw8PBwcHBwcHBwcHAwMDAwMDAwcHExMTFxsbHz8TfAAAAAAAAAAAA");
                sb.Append("AAAA5ABIS8PExMTExMTExMTExMTExMTExMXFxsfHyM7Ozs/Q1MXfAAAAAAAAAAAAAAAA5ABJTcPExMTExMTExMTExMTExMTExcbGx8fJzs7Oz9DQ1cjgAAAAAAAAAAAA");
                sb.Append("AAAA5ABJT8PExMTExMTExMTExMTExMXFxcfHyMnOzs/P0NHR1s/hAAAAAAAAAAAAAAAA5ABLqcPDxMTExMTExMTExMTExcXHx8fIyc7Oz8/Q0NHS2NLkAAAAAAAAAAAA");
                sb.Append("AAAA5ABNrMPExMTExMTExMTExMXFxcbHx8nOzs7Pz9DR0dLS2dblAAAAAAAAAAAAAAAA5ABPsMTExMTExMTExMTExMXFxsfIyc7Ozs/Q0NHS0tPT2trrAAAAAAAAAAAA");
                sb.Append("AAAA5ABPtMXFxcXFxcXFxcXFxsfHyM7Ozs/Q0NHR0tPT1dbW29ztAAAAAAAAAAAAAADu7u6pwcfHx8bGxcXExMPDw8PDw8HBwcHBwcHAwMDBwMDAxdfu7u7uAAAAAAAA");
                sb.Append("AAAA5AC7zczLvcrKyr+7vL6+vri3urq6ulS5ubm5UlZWVVVTU7rtAAAAAAAAAAAAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAAAAAAAA");
                sb.Append("AAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAAAAAAAAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAAAAAAAA");
                sb.Append("AAAiI0U+PT49PSMfISEhIB4cHh4eHA4cGRkZDQ4YDhgFBRgYGBgFGBp4AAAAAAAAAAAEAQkJCgkJCgoLCwwMDxAREBIUFBQWFiQkJENDQ15eX19gZ2dnaRFYAAAAAAAA");
                sb.Append("AAAFAQkKCgsLDA8RERMTFzxBQltdXWJlZmtrbnN1nJ6hoqWnqO/x9UBYAAAAAAAAAAANAgoKCgwPDxESEhU8PEFCW1xdYmVma21uc3Scnp+ipKbp7/Dy9VxZAAAAAAAA");
                sb.Append("AAAOAwkLDA8PERITFxc8QUJcXGFiZWprbW5zdZyeoKKlp+nv8fP192p2AAAAAAAAAAAcAwsMDxAREhMXPEBCWlxdYWVmamttcXN1nJ+io6Wn7/Dx8/X2+nR3AAAAAAAA");
                sb.Append("AAAeBgwPERETFRc8QUJaXF1iZWZqa25zdHWen6Kkpqfv8PLz9vf4+6OdAAAAAAAAAAAhBw8REhIVFzxCQltdYWJlamtrcXN0nJ6hoqWmqO/x8vX29/r7/PDiAAAAAAAA");
                sb.Append("AAA9CBESExc8PEJaXF1iYmZqa25zdHWen6Klpqjv8fP19vf6+/z9/vjoAAAAAAAAAAA/DDxCQkJaW1xcXGFhYWNjZGRoaGlqbGxvb3BwcnJyeXl6ent7fPTsAAAAAAAA");
                sb.Append("AABXRkdHPkZGRkQ9REQmJiAgIyAhIBwdIB0dDhsdGxsaGBsbGhoFGiXqAAAAAAAAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAAAAAAAA");
                sb.Append("AAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAOQAAAAA5AAAAADkAAAAAAAAAAAAAACGOzs4Njs7Ozo2Nzo6OjU0OTk5OTM5OTk5M+Tu7u7u5O7u7u7k7u7uAAAAAAAA");
                sb.Append("AAAuJysuLi4uLi4uLi4uLi8uLy8vLy8vLy8xK98AAAAA3wAAAADfAAAAAAAAAAAAAAAuJ31+gICBgoOEh4iJiouMjY6QkZKUlJeVMd8AAAAA3wAAAADfAAAAAAAAAAAA");
                sb.Append("AAAuKH2AgIGCgoSFiIiKioyMjo+QkpOUlZeXMuAAAAAA4AAAAADgAAAAAAAAAAAAAAAvKH6AgYKDhIWIiYqLjI2Oj5GSk5SVmJmYfuEAAAAA4QAAAADhAAAAAAAAAAAA");
                sb.Append("AAAvKICBgoSFh4iJiouMjY6QkZKUlJaXmZqag+QAAAAA5AAAAADkAAAAAAAAAAAAAAAxKoGChIWHiIqKjIyOj5CSk5OWl5iampubiuUAAAAA5QAAAADlAAAAAAAAAAAA");
                sb.Append("AAAxKoKEh4iJiouMjY6PkZKTlJWYmJmam93ej+sAAAAA6wAAAADrAAAAAAAAAAAAAAAyK4SHiImKi4yNjpCRk5OUl5iZmpvd3t75lu0AAAAA7QAAAADtAAAAAAAAAAAA");
                sb.Append("AAB9LoWIiImKiouMjI2Oj5CRkpKTlJSWmJiame7u7u7u7u7u7u7u7u7uAAAAAAAAAAB/MDAwMDAtLS0tLS0sLCwsLCwsLCkpKSkpMe0AAAAA7gAAAADuAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////6dF////////p0X///////+nRf///////6dF8AAAAAAPp0X6AAAAAH+nRfoA");
                sb.Append("AAAAf6dF+gAAAAB/p0X6AAAAAH+nRfoAAAAAf6dF+gAAAAB/p0X6AAAAAH+nRfoAAAAAf6dF+gAAAAB/p0XwAAAAAA+nRfoAAAAAf6dF+973ve9/p0X73ve973+nRfve");
                sb.Append("973vf6dF8AAAAAAPp0XwAAAAAA+nRfAAAAAAD6dF8AAAAAAPp0XwAAAAAA+nRfAAAAAAD6dF8AAAAAAPp0XwAAAAAA+nRfAAAAAAD6dF8AAAAAAPp0XwAAAAAA+nRfve");
                sb.Append("973vf6dF+973ve9/p0XwAAAAAA+nRfAAAAHvf6dF8AAAAe9/p0XwAAAB73+nRfAAAAHvf6dF8AAAAe9/p0XwAAAB73+nRfAAAAHvf6dF8AAAAe9/p0XwAAAAAA+nRfAA");
                sb.Append("AAHvf6dF////////p0X///////+nRf///////6dF////////p0X///////+nRSgAAAAgAAAAQAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANg4IAD0S");
                sb.Append("CgBGGQ0AQRwVAFMiBwBVIgcAViQIAFkmCQBdKgsAXioMAE4gEABYKhIAWyoUAF0rFgBaLBQAXSwVAF4tGABhLQ0AYS8aAGYxEQBqNRMAbTgWAGIwGwBkMh8AcT0ZAGQy");
                sb.Append("IQBnNiUAaDcmAGU6LgBoOCgAbDsvAGs+LABkPDUAaT0yAG8+NABiPToAAE8AAABVAAAAXgAAAGUAAANsAwAAeQAAGmUaAB1rHQAfch8AIWshACBxIAB1QRwAd0QfAGNB");
                sb.Append("LwBuQi4AeUYhAH1KJQBwRC4AdEkuAGxAMQBuSTAAd0wwAHNEOQB2UTQAMSdWADEmWgA1K1wAAABkAAAAawAAAHYANClgADgtYQA5LmYANytpADkuaQA/Pm8AOi5yADww");
                sb.Append("cQA9MHYAPzR7ADwyfAA/NX4AQUF3AEVFdgBGRnkAQ0N+AExMeABJSH8AVU1wAIFOKQCDUCoAhVIsAIhTLwCJVS8AiFYwAIpYMgCMWjMAi1g0AI5cNgCQXjsAkGA5AJNj");
                sb.Append("PQCUZT8AhGBEAJVlQACZa0QAm2xJAJ5xSgCbfF8AoHNOAKF0UgCkeVQApnpaAKh/WwCLcGoAAIICAACKAAAAigkAAJQEAAWQDwABnQ0AE4sWAA6WGAASmxwACKcXAAuq");
                sb.Append("GgAVoR8AGZ8jABylJgAeqSMAFLMjABy7KwAgpSoAIqssACqsNAAntDEAJr8xACy5NgAxszsAMr88ACTDMwAtzDwANrdAADq7RQA+v0kANsVAADzLRgA000MAONdHAD3c");
                sb.Append("TABDwk0ARctPAELbUQBF5FQATOtbAFDvXwBV9GQAWPdnAF/zbQBd+2wAYPxvAGX+dABs/3sAqoJeAKuCYgCuiGQAr4ZpALKLagC0jXEArJR6ALWQcQC4lXUAt5J4ALyb");
                sb.Append("ewAAAIAAAASMAAAMlgA/PIIAABmnAAAaqAAAHKoAAB+tAAAgrgAAIrAABCKwAAAksgAGJLIAASe1AAomtAAAKLYADCi2AAIquAAEKrgAAyy6AAUuvAAOKrgABzC+AAgx");
                sb.Append("vwBBPIMASkqBAEpKhwBFRYgASkqJAFxbhQBPT5EASkqUAE5PmQBQUJQAUlSfAH19mwBKW6IAVFukAExgpwBWarIAX3O8AAkywAANNsQADzjGABM1wwAQOccAEjvJABM8");
                sb.Append("ygAVPswAGULQAB5H1QAhStgAJU7cAChR3wAtVuQANV7sAGZ8wgBrf8YAc/+CAHz/iwC9mIEAvaqbAL+/vwDAnokAwaGDAMSmigDEo5EAya2TAMepmQDLsJcAzbWdANC1");
                sb.Append("nwDLr6MAz7agAM+3rADUvqsA2si1AMDAwABYMf8AcVH/AIxx/wCmkf8Av7H/ANrR/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+PjH0M3LyszJxsfHxVLEVE9RUVBIU8jO+PgAAAAAAAD4AECwsrGw");
                sb.Append("sbGwsK+vr6+wsbO2vb3B28/4AAAAAAAAAPgAQbKysrOzsrKysrOys7a6vsLV2Nve0fgAAAAAAAAA+ABCsbOzsrKysrOysra2vr/U1trb3ODS+AAAAAAAAAD4AKuxs7Kz");
                sb.Append("s7KysrK0uLzB1Nba29zd4dP4AAAAAAAAAPgArLKzs7Ozs7O0uLy/1NXZ29zd3t/i5PgAAAAAAAAA+PituLq2trOzsrOztLW1t7e5ubu7wNfj+PgAAAAAAAD4AK7DTU5M");
                sb.Append("S0lKSkZHR0VDREQ+Pz8/PVX4AAAAAAAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAAAAAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAAAAAAAEDw8MDA0N");
                sb.Append("EBAOERMXFxgaGhscHh4fIyM7MgAAAAAAAAEFBwgJFBQZGTE1V1pfYmZobG6ip6iq7O48AAAAAAAAAgYIChIVFjAxNVdbX2NmaGxuoqSoquzu8WQAAAAAAAADCBIUFRkw");
                sb.Append("NDVYXGFjZ2psoKSnquvs7vL2aQAAAAAAAAsSFBYZMDRWWV1gZmdrbaGkp6rr7PD09vemAAAAAAAADxYZMTQ1V1peYGVnaGttoaOlqefq7e/z9egAAAAAAAA5Ojc3OjY2");
                sb.Append("NjYgMzg4HTgiHSEhISEkJCQkbwAAAAAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAAAAAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAAAAAAAtLS0vLyws");
                sb.Append("Li8rLC4uKy4uK/j4+Pj4+Pj4+AAAAAAAACUqcHBydHd4e32ChIaIjo92AAAA+AAAAPgAAAAAAAAAJnFzdXl6gICJipGVlpianH4AAAD4AAAA+AAAAAAAAAAmc3V5en+A");
                sb.Append("iYqRkpeXmp2fhQAAAPgAAAD4AAAAAAAAACd1en+AhYqQkpaXmZyen+WVAAAA+AAAAPgAAAAAAAAAKHl/gImKkJKWmJmdnp/l5pv4+Pj4+Pj4+OkAAAAAAAApd3h4fH2B");
                sb.Append("goODh4eLjI2TlAAAAPgAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////+AAAAfoAAAP6AAAD+gAAA/oAAAP6AAAD+AAAAfoAAAP7u7u7+7u7u/gAAAH4AAAB+AAAAfgAAAH4AAAB+AA");
                sb.Append("AAfgAAAH7u7u7+7u7u/gAAAH4AAO7+AADu/gAA7v4AAO7+AAAAfgAA7v////////////////KAAAABgAAAAwAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA");
                sb.Append("wAA1DwsAPxYOAEkfEwBTIQcAVCIHAFckCQBbJwoAXCgLAF0oDABWLBcAYi0OAGUwEQBoMxMAaTQSAGo2FABtOBUAbTgYAHA7GAByPhoAcz0dAAFVAQABXAEAAWQBAAFv");
                sb.Append("AQAUZhQAFmkWABVsFQAYahgAGG0YAHZCHgB4RR8AbEkvAHlDIgB7RyIAfUolAH9MJwB1RysAckMvAHVGLQB3SS0Af0kpAHhKLAByQzMAdEYyAHFDNwBwTjcAckY7AHRG");
                sb.Append("OABwRj4Ac0g+ADYmTAA3KEwANyhSADssUgA8LFMAOypUAD4tWABCL10AQjBfAEIwYABHNGcARjZpAHNJRQByS0gASkBxAGZ9ZgBof2gAf2x9AIJOKQCFUS0AilcxAIlW");
                sb.Append("NgCNWjQAjl02AI9dPgCRYDoAk2M9AIBhSACUZUAAlGNFAJhqQwCbbUYAnW9JAJpqTgCgc00AonZQAKBxVwCjeFMApnxYAKh/WwCYfmQAhnx7AKZ5YAAAiQAAAJQFAAGf");
                sb.Append("DwADoREABKERAAuqGgAMqxsAEK8fABa1JQAauSkAIL8vACy3MwAhwDAAJMMzACXENAAryjoALcw8ADDPPwA1zT8AZoNlAGqBaQBthWwAboluAHGNcQBzl3EANtVFADjX");
                sb.Append("RwA72koAQN9PAEPiUgBG5VUASehYAE3sXABQ718AUuZgAFPyYgBY92cAW/ZqAFn4aABc+2sAZPpzAGP+cgBm/3UAav15AG3+fABw/38AqoJeAJqFfQCthmMAr4lmAKyC");
                sb.Append("bACyi2oAtZBvALeScgC4lHYAvJt6AL2dfgAADowABw+MAAYRiQAGFYkABxGNAAcajAAADpQABxGRAAYRlQAKHJUABxKaAAAQnQAHFJ4ABhahAAAbqQAAH60AACCuAAAi");
                sb.Append("sAAAJLIAACa0AAUmtAABKbcACCm3AAIruQADLLoABS68AAoruQANLbsAEDC+AAkywAAMNcMADjfFABIywAAVNcMAEDnHABI7yQAUPMkAFT7MABdAzgAbRNIAHEXTACFK");
                sb.Append("2AAkTdsALlbjADZf7ACwn4sAwKCCAMOlhwDFp4oAxqmOAMmulQDMspoAzbKcANG4ogDVvqoA1sKvAN3PvgAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR");
                sb.Append("/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAA");
                sb.Append("AAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ");
                sb.Append("0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0AAAmKSjoZ+fn56bmJmZmpqcoAAA0NDQ0ADQl6ampqampqamqKyvtLa8uwDQ0NDQ0ADQnaampqam");
                sb.Append("pqaprLC0uby+wQDQ0NDQ0ADQoqampqamp6mvsLW6vb/AwwDQ0NDQ0ADQpaqpqKenqaqrrbGys7e4wgAA0NDQ0ABEQT4+PTw8Ojk5ODc2MzQ0NVzQ0NDQ0ADQ0ADQ0ADQ");
                sb.Append("0ADQ0ADQ0ADQ0ADQ0NDQ0AEEBQYJCw0RFCEpRkhLUFRXXZAu0NDQ0AIFBwsOEh4jRklNUlZaj5OWx8pO0NDQ0AMIDA8THyRHSk9TWIyRlMXIy81b0NDQ0AoMEBMiRUdM");
                sb.Append("UVVZjpKVxsnMzs/E0NDQ0CAqJSgnKCwmLCwrMC0vMjE/P0CN0NDQ0ADQ0ADQ0ADQ0ADQ0ADQ0ADQ0ADQ0NDQ0BsdGx0aHBwZHBwaHBkAAAAAAAAA0NDQ0BVeX2BkZmpt");
                sb.Append("eHt+hGnQ0ADQ0ADQ0NDQ0BZfYWRmam54e36Ch3DQ0ADQ0ADQ0NDQ0BdiZWdsb3l8f4WIi4DQ0ADQ0ADQ0NDQ0BhlZ2tud3p9gYOGiokAAAAAAAAA0NDQ0HZ1dXR0c3Jy");
                sb.Append("Q0NCQnHQ0ADQ0ADQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ND///8A////AP///wDAAAMA0AAHANAABwDQAAcA0AADAMAA");
                sb.Append("BwDbbbcAwAADAMAAAwDAAAMAwAADAMAAAwDbbbcAwAADAMABtwDAAbcAwAG3AMAAAwDAAbcA////AP///wAoAAAAEAAAACAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAwMDAAFYjCABdKgwAYCwNAGgzEgBrNhQAcj4aAA51DgAQehIAEX0WAHVBHQByQiIAdkYnAH1JJAB3SCoAe0wwAH5PNQBLLkIASi1GAEwuRQBKL0sATTFEAEox");
                sb.Append("TABjSVQAcFhcAH1iXQCATCcAiFYwAItZMwCCVDwAk2M9AIRYQgCHXUoAlWZAAJ5xSwCLY1IAjmhbAKF0TwCof1sAh2tiAJFvZQCUdW4AAJQGABiDHQAHpRUACqgYAByG");
                sb.Append("IAAghiMAIownACeRLAAWtSUAG7oqACbFNQAsyzsAU5FWAFSRVgBVmVUAVZFZAFiSWwBZk1wAW5VeAF+YXwBemWEAN9ZGADzbSwBC2U4AR+ZWAEzsXABX9mYAXfpsAGTz");
                sb.Append("cgBs/nsAqoJfAJiAbwCzjmwAtpFxAL6dfgAAHKoAAB6sAAAgrgAAIrAAASSyAAAmtAADKLYABSm3AAYvvQAJLrwAVVWZAFVVpABVWbIADTbEABAzwQAVOMYAFD3LABY/");
                sb.Append("zQAfQ9EAI0zaAJuUjgClnZIAirCJAKihmwDAoIMAya2TAMqulgDVvqsAiv8xAJz/UQCu/3EAwP+RANL/sQDk/9EA////AAAAAAAmLwAAQFAAAFpwAAB0kAAAjrAAAKnP");
                sb.Append("AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCOAADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/2");
                sb.Append("0QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8M");
                sb.Append("AADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R");
                sb.Append("3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQA");
                sb.Append("zwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR");
                sb.Append("/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AHBwcHBwcHBwcHBwcHBwcHBwAAAAAAAAAAAA");
                sb.Append("AAAAAHBwcABXTU5NTU1NUFNWXQAAcHAAWE5OT05PUlVaXmAAcHBwAFlQUE9PUVRWW1xfAABwcABwAHAAcABwAHAAcABwcHAAFxYUEhITExERFRUYcHBwGQECBAYNGx4i");
                sb.Append("JkpMZmFwcCcDBQoaHCElSEtlZ2hicHBJCwwODxAdHyAjJCgpZHBwAHAAcABwAHAAcABwAHBwcD0HCAkrLjAxLwAAAAAAcHA3KiwyND9CREFwAHAAcHBwOC0zNUBDRUdG");
                sb.Append("AAAAAABwcGM2Nzk5Ojs8PnAAcABwcHBwcHBwcHBwcHBwcHBwcHD//wAAgAMAAIABAACAAwAAgAEAAKqrAACAAwAAgAEAAIABAACAAQAAqqsAAIABAACAKwAAgAEAAIAr");
                sb.Append("AAD//wAAKAAAADAAAABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0mdioqJcIKCfnJ3d3R6YmJhm25ubXJsbGtyaWlocmZm");
                sb.Append("ZHJWVlOZXFxZfF9eW3FcXFhyW1lUcE9PS4tMTEqNUVFOcFBPS3JMTElyS0tHekVFQJdISEJyR0dBckZFQHJFQz5yPT05mj4+N3s+PTZyPTw1cjw8NXA5OTSMOTczjD08");
                sb.Append("NXFISD9QVlRMM0xLRkJAPz1tUVBJNVdWTjVXVk82X19YHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAGXzAACA8AANm/AACJbxAASS9QAD");
                sb.Append("kfAAAI7wAACL8AAAh/AAAIT0AACC8QAAgPAAAHzwAAB78AAAefMAAHfzAAB18AAAcfAAAG/wAABt8QAAbPQAAGnwAABm8AAAZfAAAGPwAABh9AAAX/EAAF3wAABc8AAA");
                sb.Append("W/AAAFvzAABe8wAAdvI0NDRHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAF7+AABl/wAYpv8AHKr/AByq/wAc");
                sb.Append("qv8AGaf/ABmn/wAZp/8AGaf/ABmn/wAYpv8AGKb/ABim/wAYpv8AFqT/ABak/wAWpP8AFqT/ABak/wAWpP8AFqT/ABim/wAZp/8AHqz/AB+t/wAgrv8AIrD/ACWz/wAo");
                sb.Append("tv8BKrj/FD3L/wAgrf83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAGH+AABt/wAcqv8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACCu/wAisP8AJLL/ACi2/wIruf8DLLr/BzC+/wozwf8MNcP/DjfF/xI7");
                sb.Append("yf8WP83/JU7c/wAksP83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAGT+AABy/wAcqv8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACKw/wAls/8AKLb/Aiu5/wMsuv8HML7/CjPB/ww1w/8ON8X/EjvJ/xY/");
                sb.Append("zf8XQM7/KFHf/wYvuv83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAGf+AAB7/wAcqv8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAgrv8AIrD/ACWz/wEquP8CK7n/Bi+9/wcwvv8KM8H/DTbE/xE6yP8SO8n/Fj/N/xlC");
                sb.Append("0P8bRNL/LVbk/xI7yf83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAG3+AACB/wAcqv8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACCu/wAksv8AKLb/ASq4/wMsuv8GL73/CDG//ww1w/8NNsT/ETrI/xQ9y/8WP83/GULQ/xxF");
                sb.Append("0/8eR9X/MVro/yBJ1/83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAHP+AACL/wAerP8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AIrD/ACSy/wAotv8CK7n/Ayy6/wcwvv8KM8H/DDXD/w43xf8SO8n/FD3L/xdAzv8ZQtD/HEXT/yBJ");
                sb.Append("1/8gSdf/N2Du/y1W4/83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAHn+AASS/wAerP8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACCu/wAisP8AJbP/ACi2/wIruf8GL73/BzC+/wozwf8NNsT/DjfF/xI7yf8WP83/F0DO/xtE0v8eR9X/IEnX/yJL");
                sb.Append("2f8jTNr/O2Ty/ztk8P83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAH7+AA6c/wAgrv8AIrD/ACKw/wAi");
                sb.Append("sP8AIrD/ACKw/wAisP8AIrD/ACKw/wAisP8AJLL/ACi2/wEquP8DLLr/BzC+/wozwf8MNcP/DjfF/xI7yf8UPcv/F0DO/xtE0v8cRdP/IEnX/yJL2f8jTNr/J1De/ytU");
                sb.Append("4v8sVeP/Q2z6/0pz/v83NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMD/wMDA/8DAwP8AAIT+ABak/wIruf8CK7n/ASq4/wAo");
                sb.Append("tv8AJbP/ACSy/wAisP8AIK7/AB+t/wAerP8AHqz/AB6s/wAcqv8AHKr/AByq/wAZp/8AGaf/ABmn/wAZp/8AGKb/ABim/wAYpv8AFqT/ABak/wAWpP8AFqT/ABak/wAW");
                sb.Append("pP8AFqT/ACKw/y1a5P83NzlHwMDA/8DAwP/AwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAILYABShywANmcwACJXPAAOQ2wAD");
                sb.Append("kMwAAYzMAACJzAAAhswAAIHaAAB/0AAAfswAAHvMAAB5ywAAc9UAAHHWAABwywAAbswAAGvMAABpzwAAZdkAAGTMAABizAAAX8wAAF7MAABb2wAAWs8AAFnMAABWzAAA");
                sb.Append("VcsAAFXWAABT1QAAb80zMS5cKyUeHSkgHB0pJB4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAAAADAwMD/wMDA/wAA");
                sb.Append("AAAAAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFKiTnUCIR4VwyFeFYLxXjVi0V6lQrE+FSKRHhUSYR4U8k");
                sb.Append("EeFLIxHpSyAP40oeDuFIHQ3hRxsM4UUZDeZBGAznQRYL4UAVCuE+FAnhPRMJ4zoSCek5EAjhNQ4H4TUNB+E0DAfhMwwH6TALBuMvCQXhLQgF4SwHBeErBwXmKgcF5icF");
                sb.Append("A+AlBAPdJQQD3CUDA94lBAPmIwMD3CwJBeA3IROXP3yIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6GBX+LgQB/1IgB/9UIQf/VCEH/1IhB/9SIAf/VCEI/1cj");
                sb.Append("Cf9YJQr/WyUL/1wnDP9fKQ3/YSoP/2IrEf9kLRL/Zi4U/2kwFf9rMhf/bDMY/241Gv9yNx3/czkf/3Q7If90PCP/dz4l/3pAKP98QSr/fUMs/35GL/+CRzH/g0k0/4ZL");
                sb.Append("Nv+ITDv/iU8+/41RQP+OU0P/lFxL/2UvFP9AJxGzMWCCBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Hhj+LwUB/1IhB/9WJAj/ViQI/1clCP9YJwr/XioL/2Es");
                sb.Append("Df9kLxD/ZjMS/2s2Ff9uOxf/cz4Z/3RCHv96RiD/fUkk/4BOKP+GUSz/iVYv/41bNP+PYDn/lGQ9/5hoQf+bbUb/nnNL/6J3UP+nfFb/qYBb/6yGYf+yimb/tI5t/7iU");
                sb.Append("c/+7mXn/wKB+/8Klhv/Gp4r/y7KY/3dHIf9AJhGyMGCCBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFIhr+NAcB/1QhB/9WJAj/VyUI/1snCv9eKwz/YS0O/2Uw");
                sb.Append("EP9pNBL/bDYV/247F/9zPxv/dkIe/3pGIf99SSX/gE4o/4NRLP+JVC//jVs0/49fOf+TYj3/mGhB/5tsRv+ecUr/onZQ/6V6VP+nflv/rINg/6+JZv+zjmz/t5Fy/7iY");
                sb.Append("d/+8nX3/wqKE/8Wniv/Hqo//zrKd/4JQK/9GLBWyKlJtBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKJx7+OQkC/1QhB/9YJQn/XCgL/18rDP9iLg7/ZTER/2k1");
                sb.Append("E/9tORX/cjwY/3Q/HP92Qx7/ekch/35KJf+CTyn/hlIt/4lWMP+NXDX/kWA6/5RkP/+YaEL/m21H/55zTP+jdlH/p3xX/6mAXP+shGH/r4po/7SObf+4k3T/u5l5/76e");
                sb.Append("gP/Co4b/xqeK/8qsk//Lspn/0buj/5NkP/9QNyCyHz1MBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPLSH+Pw0D/1clCf9cKQv/YSwN/2QuD/9mMhH/azUU/206");
                sb.Append("Fv9yPRn/dEEc/3dFH/98SCP/fksm/4JQKv+IUy7/ilcy/45eNf+RYTv/lGU//5lpRf+dbkn/oHRO/6N3U/+nfVj/qoJe/66GZP+yjWn/tI9x/7iUdP+8m3r/wKCC/8Kl");
                sb.Append("iP/Gp47/yq6U/86ym//Rt6L/1cCs/6N5U/9cRSyyFikwBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUMyX+RREE/1woC/9hLQ3/ZC8Q/2YzEv9sNhX/bjsX/3M+");
                sb.Append("Gf90QR3/ekYg/31JJP+ATCj/g1Er/4hULv+KWDP/j182/5NiPf+VZkD/mWtG/55xSv+idE//pXlU/6d+Wf+qg2D/r4hl/7OKa/+3kXL/uJV2/7ybff/AooP/xaWJ/8ep");
                sb.Append("j//Kr5X/zrOe/9G4o//Vvqn/2ca0/7OPbf9pUjuyDhkcBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbOij+SxcF/2EsDv9lMRH/aTQT/2w2Ff9uPBj/dD8b/3ZC");
                sb.Append("Hv96RyH/fUol/4BOKf+GUiz/iVYw/41bNP+PYDr/lGQ+/5hoQf+bbEf/nnNL/6J2Uf+lelb/qYBb/6yEYf+viWb/s45t/7iTc/+7mHf/vp5+/8KjhP/Fp43/x6qR/8uy");
                sb.Append("mP/QtKD/0bul/9W+rP/YxrL/3s68/8Kniv90YUuyCQ4OBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhQSv+UR4H/2UxEf9rNRT/bToW/3I9Gf90Pxz/d0Uf/3xI");
                sb.Append("I/+ATCf/g1Aq/4hTLv+KWDL/j142/5NiPP+VZkD/mWxF/51yS/+idE//pXpU/6d+Wf+sg2D/r4ll/7OObP+3k3L/u5h3/76eff/Co4T/xamK/8qskf/Lspj/0Leg/9S7");
                sb.Append("pf/VwKz/2cay/9vLu//e0MD/49nL/9S+qf+Acl+yBQcGBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlSC7+XCgL/3dDH/98RyL/fUgk/31JJf9+Sif/gEsp/4JM");
                sb.Append("K/+DTy3/hlAu/4hRMP+IUjL/iVM1/4pUNv+NVjr/jlk8/49bP/+RXED/k15C/5RfRf+VYEf/mGFL/5hiTP+ZZE//m2ZR/51oU/+eaVf/oGtZ/6JsXP+jbV//pXFi/6Vy");
                sb.Append("Zv+nc2n/p3Rs/6l2cf+qd3P/rnx3/8ennf+OhHSzAwQCBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtVD7mXzQW3mY6HN5kNxvgXzQb6GEyGd5eMBfeXC4X3lgr");
                sb.Append("Fd5UKRXnVCcU4FIlE95RIhLeTyER3kseEeRKHRDkShsO3kgZDt5GFw3eRRYM4EEVDOdAEwvePxEK3j0QCt48DwneNw4J6DULB90zCgbZMAkF2S8IBdkuBwXgLAcF4CsF");
                sb.Append("BNkqBQTZKQUD2ScEA9snBQTkJgQD2UgZFd1kUUiVESEZBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAAAAAAMDAwP/AwMD/AAAAAAAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAAAADAwMD/wMDA/wAA");
                sb.Append("AAAAAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggDZAFsAzQBhAM4AXwDRAF0A3QBbAM4AWQDOAFgAzgBW");
                sb.Append("AM4AVgDcAFMA0gBSAM4AUQDOAE8AzQBPANcATgDYAEwAzQBLAM4ASwDOAEoA0QBKANsASQDOAEkAzgBIAM4ASADOAE8A3ywrJoBURjxCUEM5Q1BCOEE+OTVFPDczRU9A");
                sb.Append("NkJOQDZDTT81Q0U5Mj03NDFaSjwyMEQ0LDAzKB8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAD+AEYA/wBeAP8AYgD/AGIA/wBiAP8AYgD/AGMA/wBj");
                sb.Append("AP8AYwD/AGUA/wBlAP8AZQD/AGYA/wBnAP8AZwD/AGkA/wBpAP8AaQD/AGoA/wBqAP8AawD/AG0A/wBuAP8AbwD/AFsA/ykpJZIAAAAAAAAAAAAAAAA8PDwwOjo6LwAA");
                sb.Append("AAAAAAAAAAAAADc3ORA3NzdHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYgD+AEYA/wCCAP8AjgD/AJAA/wCVBf8Amwv/AaAQ/wem");
                sb.Append("Fv8Lqhr/ErEh/xi3J/8buir/IsEx/yfGNv8uzT3/M9JC/znYSP8+3U3/ReRU/0rpWf9P7l7/VPNj/1z7a/9Y92f/AHQA/ykpJZEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZQD+AEkA/wCFAP8AjwD/AJUF/wCaCv8Anw//BqUV/wqp");
                sb.Append("Gf8Qrx//F7Ym/xm4KP8fvi7/JcQ0/yvKOv8vzj7/NtVF/zrZSf9C4VH/R+ZW/0zrW/9R8GD/V/Zm/138bP9Z+Gj/AHsA/ywsKZEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaQD+AEsA/wCMAP8Algb/AJsL/wGgEP8Hphb/C6oa/xGw");
                sb.Append("IP8Ytyf/G7oq/yHAMP8nxjb/Lcw8/zLRQf8410f/PdxM/0PiUv9I51f/TOtb/1PyYv9Y92f/Xfxs/2P/cv9h/3D/AI8A/zU1MZEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgD+AE4A/wCTA/8AnAz/A6IS/wmoGP8OrR3/ErEh/xm4");
                sb.Append("KP8cuyv/I8Iy/yjHN/8uzT3/M9JC/znYSP8+3U3/Q+JS/0rpWf9O7V3/U/Ji/1n4aP9d/Gz/Zf90/2r/ef9q/3n/CagW/0BAPZEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgD+AFIA/wCYCP8EoxP/CqkZ/xCvH/8TsiL/Gbgo/x++");
                sb.Append("Lv8jwjL/K8o6/y/OPv821UX/OtlJ/0DfT/9F5FT/TOtb/0/uXv9X9mb/XPtr/2D/b/9n/3b/a/96/3D/f/9w/3//IcAw/0tLR5EAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwD+AFcA/wGgEP8Lqhr/EbAg/xe2Jv8buir/IcAw/yXE");
                sb.Append("NP8tzDz/MtFB/zbVRf893Ez/QuFR/0jnV/9M61v/UfBg/1f2Zv9d/Gz/Yf9w/2f/dv9s/3v/cP9//3b/hf96/4n/PdxJ/1hYUpEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewD+AF0A/wmoGP8SsSH/GLcn/xy7K/8iwTH/KMc3/y7N");
                sb.Append("Pf8000P/OdhI/z7dTf9F5FT/SulZ/0/uXv9U82P/XPtr/2D/b/9l/3T/a/96/2//fv92/4X/ev+J/37/jf+D/5L/WPdm/2ZmYJEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggD+AGMA/xCvH/8Ytyf/Gbgo/xy7K/8hwDD/JcQ0/yjH");
                sb.Append("N/8tzDz/L84+/zTTQ/8410f/OtlJ/z7dTf9D4lL/R+ZW/0rpWf9M61v/UfBg/1TzY/9Y92j/Xfxs/2D/b/9n/3b/Z/92/3Z2cpEAAAAAAAAAAAAAAAA8PDwwOjo6MAAA");
                sb.Append("AAAAAAAAAAAAADc3NxE3NzdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiQD3AFkA9gBdAPYAXAD2AFoA9gBZAPYAVwD2AFYA9gBV");
                sb.Append("APYAVAD3AFIA9gBRAPYAUAD2AE8A9gBPAPYATQD2AEwA9gBMAPYASwD2AEsA9gBKAPcASgD2AEkA9gBJAPYASQD2AHEA+mJiXIpURjwuT0I4ME9BNi08PDwuOjo6Lk0+");
                sb.Append("NC5LPTMwSjwyL0xCOjo3NzdFSjwyMEQ0LDAzKB8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWU0tePz8/Qjc3N0Q1NTVENDQzRTAwL0QtLS1EKysrRCkp");
                sb.Append("KEQpKSdEJSUkRCMjIUQhISBEHx8eRB4eHEQcHBpEGhoYRBgYF0QXFxVEFRUURBUVE0UTExFEEhIQRBEREEQQEA5EFRUTRTQ0LiIAAAAAAAAAAAAAAAA1NTQMNTU0DAAA");
                sb.Append("AAAAAAAAAAAAADQ0NAQ0NDQSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZHh8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////6dF////////p0X///////+nRf///////6dF////////p0XwAAAAAAenRfoA");
                sb.Append("AAAAf6dF+gAAAAB/p0X6AAAAAH+nRfoAAAAAf6dF+gAAAAB/p0X6AAAAAH+nRfoAAAAAf6dF+gAAAAB/p0X6AAAAAH+nRfAAAAAAD6dF+gAAAAAPp0X7u997z3+nRfAA");
                sb.Append("AAAAB6dF8AAAAAAHp0XwAAAAAAenRfAAAAAAB6dF8AAAAAAHp0XwAAAAAAenRfAAAAAAB6dF8AAAAAAHp0XwAAAAAAenRfAAAAAAB6dF8AAAAAAHp0X7e897z3+nRfAA");
                sb.Append("AAAAD6dF8AAAAc5/p0XwAAABzn+nRfAAAAHOf6dF8AAAAc5/p0XwAAABzn+nRfAAAAHOf6dF8AAAAc5/p0XwAAABzn+nRfAAAAHOf6dF8AAAAAAPp0XwAAABzn+nRff/");
                sb.Append("/////6dF////////p0X///////+nRf///////6dF////////p0X///////+nRSgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0kRbW1sKnx8eSdra2kwbW1sJmpqaSZeXlwqWVlWLV1d");
                sb.Append("WSZbWlUmTU1KL05OTClOTUomS0tHKEZGQC5HR0EmRUQ/JkA/Oi8+PTYoPTw1Jjo6NCg5NzMvQUE5Ik9ORRRGRUEbSUhDGFdWThJbWlMMAAAAAAAAAAAAAAAAAAAAAEtL");
                sb.Append("SRHAwMD/wMDA/yMjcdEkLIrGIyaFyCAhf8oeHnrNHx93xx4ec8caGm3PGhpryRoaacgZGWbIFxdgzhcXXsYXFlzIFRVYzxQUVcgUFFLIExNQyRMSTs8VFU/DGxpVtiMj");
                sb.Append("VpbAwMD/wMDA/1taUwwAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwP8AAF9VAABk/wAaqP8AHav/AByq/wAbqf8AG6n/ABup/wAaqP8AGqj/ABmn/wAZp/8AGaf/ABmn/wAa");
                sb.Append("qP8AHKr/ACCu/wEksv8DJ7X/BCq4/wYvvf8TPMr/EiiGwsDAwP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAYlUAAGv/AB2r/wAfrf8AH63/AB+t/wAf");
                sb.Append("rf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AIK7/ACSy/wAotv8DLLr/BzC+/ww1w/8POMb/FT7M/yFK2P8VL4zCwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AADAwMD/AABpVQAAdv8AHav/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACKw/wAls/8CK7n/BS68/wkywP8NNsT/EjvJ/xU+zP8aQ9H/KFHf/yE8");
                sb.Append("m8LAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwP8AAHBVAACA/wAdq/8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAisP8AJ7X/Aiq4/wYv");
                sb.Append("vf8KM8H/DjfF/xI7yf8WP83/GkPR/x5H1f8tVuT/LUinwsDAwP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAelUABIz/AB+t/wAgrv8AIK7/ACCu/wAg");
                sb.Append("rv8AIK7/ACCu/wAisP8AJbP/ASm3/wUuvP8IMb//DTbE/xA5x/8WP83/GULQ/x5H1f8hStj/JU7c/zVe7P89WLXCwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AADAwMD/AACBVQAMlv8BJ7X/ACe1/wAls/8AI7H/ACGv/wAgrv8AH63/ACCu/wAgrv8BIrD/AyGv/wQisP8GJLL/ByWy/wkmtP8KJrT/Cye1/wwotv8OKrj/EzXD/zZT");
                sb.Append("sMLAwMD/KxsWUzRDQhYAAAAAAAAAAAAAAAAAAAAARSokGkolGUw4Hj17HBhr1xsVa9QbEGbaGQ1k1BkLYdQYCVzWFwlZ2BYIV9UVB1TTFQZP2RQGTdUTBUvVEgRI1BEE");
                sb.Append("RdkRBETVDwNB0w8CP9oOAj3VDgI71QwBOdQMATjYFww8uiocGGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPiAbUjoTDPVVJQv1VCUL91IjCvVSIgr1VCML9lUjDPZWJAz1WCUN9VglD/dZJhD2WycR9VwoEvVdKRT3XioW9V4r");
                sb.Append("GPVfLBr3YS4d9WIvHvVjMSH2ZTIj92YzJvRnNSnzajcs9W08MfRLIw/cOFJdPAAAAAAAAAAAAAAAAAAAAABBHxhVNg4I/1MiB/9WJAj/WCYJ/10qC/9jLg7/ZzIS/205");
                sb.Append("Fv9yPhn/d0Qf/31JJP+DUCr/iVUv/45dN/+TYz3/mmtE/55ySv+keVP/qX9b/66IZP+0jWz/uZd2/76efv/Epoj/yq6V/2c+HuU0Slg/AAAAAAAAAAAAAAAAAAAAAEck");
                sb.Append("HFU9Egr/VSIH/1kmCf9eKgz/Yi4P/2k0Ev9uORb/cz8b/3dEH/99SiX/gk8q/4hWMP+OXDb/k2M+/5hpQ/+ecUv/pHhS/6h/W/+shWP/s45s/7iUdP+9nX7/w6OG/8is");
                sb.Append("kf/NtZ3/d08v5TA+Qz8AAAAAAAAAAAAAAAAAAAAAUC8iVUYZDf9aJwr/YCwN/2UwEP9qNRT/cDwY/3RBHP96RyL/fksm/4VSLP+KWDL/kGA5/5RlP/+cbUj/oHNO/6V7");
                sb.Append("Vv+qgl7/sYlo/7SQcP+6mHn/wKCB/8SnjP/KrZX/0LWf/9W/q/+Qbk3lLTArPwAAAAAAAAAAAAAAAAAAAABXNiZVTiAQ/2AsDf9mMRH/azYV/3A8GP92Qh3/ekci/4BN");
                sb.Append("KP+GUi3/jFoz/5BgOv+XZ0H/m25H/6F1UP+me1f/q4Ng/7CKaP+3kXL/u5l5/8GihP/Fp4z/y7CX/8+2oP/Uvqv/2si1/6OIbOUsKiM/AAAAAAAAAAAAAAAAAAAAAGJD");
                sb.Append("LFVZLBT/bDgW/3E9Gv92QR3/eUUh/39KJv+DTyr/iFMv/4tYNP+QXjv/lGRA/5lqSP+eb0z/oXRU/6Z6Wv+rgGP/r4Zp/7SNcf+3knj/vZiB/8Ceif/Eo5H/x6mZ/8uv");
                sb.Append("o//Pt6z/tqGQ5S8sJT8AAAAAAAAAAAAAAAAAAAAAaU42T2I6H+trPB3pajsd7mk5HOloOBzpZTUc62Q1HOxjMxzpYjEc6WAwHe1gLx3qXy4e6V8uHupcLR/tXCwf6Vsr");
                sb.Append("IOlZKyDtVykg51UpIeZVKSLnVCkj6lMpJeZTKSXmUioo6VMrKehyUEnQLjAoOAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIATABfAOAAYADfAF8A5gBcAN4AWwDeAFoA4QBZAOMAWADeAFcA3gBWAOUAVQDgAFUA3gBUAOAAVADkAFQA3gBU");
                sb.Append("AN4AUwDmNTErX05BNz5IPjU8wMDA/0o9My9JPDIwOTQxMsDAwP9BMysfMygfBAAAAAAAAAAAAAAAAAAAAAAAYQBVAE8A/wB5AP8AgAD/AIUE/wCKCf8FkA//CpUU/xCc");
                sb.Append("Gv8VoR//G6cl/yCtKv8ntDH/LLk2/zK/PP82xUD/PMtG/xOLFv8pKSVhAAAAADw8PBDAwMD/AAAAAAAAAAA3NzcjwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm");
                sb.Append("AFUAUwD/AIoA/wCVBf8BnQ3/BaQU/w6tHf8WtSX/Hbws/yXENP8uzT3/NtVF/z/eTv9H5lb/UO9f/1f2Zv9d/Gz/Hqkj/y8vLGEAAAAAPDw8EMDAwP8AAAAAAAAAADc3");
                sb.Append("NyPAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGsAVQBXAP8AkwT/AZ0N/winF/8OrR3/F7Ym/x69Lf8nxjb/L84+/zjXR/8/3k7/SehY/0/uXv9Y92f/YPxv/2f/");
                sb.Append("dv8mvzH/Ozs4YQAAAAA8PDwQwMDA/wAAAAAAAAAANzc3I8DAwP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcwBVAF4A/wKeDv8KqRn/E7Ii/xm4KP8iwTH/K8o6/zPS");
                sb.Append("Qv872kr/RONT/0vqWv9U82P/XPpr/2T/c/9r/3r/cv+B/0LbUf9PT0thAAAAADw8PBDAwMD/AAAAAAAAAAA3NzcjwMDA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5");
                sb.Append("AFUAZQD/CagY/xOyIv8cuyv/I8Iy/y3MPP811ET/PdxM/0XkVP9O7V3/VvVl/178bf9l/nT/bv99/3X/hP98/4v/X/Nt/2BgWmEAAAAAPDw8EMDAwP8AAAAAAAAAADc3");
                sb.Append("NyPAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAVABrAPwMlRb8EJga/BObHfwXniH8G6Il/B6kKPwjqC38Jqow/CquNPwusTj8MbU7/DS3Pvw4u0P8PL9H/EHC");
                sb.Append("S/xEy079bm5pX05BNzBIPzgvwMDA/05BNzBOQTcwPjo2MsDAwP9OQTchAAAAAAAAAAAAAAAAAAAAAAAAAAAvaykwL1EshCRDJH8iQSKAHzwefx05HX8bNxp/GTUYfxYx");
                sb.Append("FX8VLxR/Ey0SfxErEH8PKQ5/DicNfw0mDIAMJAp/CyMKfwwuC4FFRT8uAAAAADc3Nwg2NjYXAAAAAAAAAAA1NTQRNTU1DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////AAAADwAAAA+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAA8AA");
                sb.Append("AA/u7u7v7u7u78AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPu7u7v7u7u78AAAAPAAATPwAAEz8AABM/AAATPwAAEz8AAAAfAAATP//////////8oAAAAGAAAADAA");
                sb.Append("AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqamlDfHx5O2hoZ0Nqamk5Xl5bQ11dWjtbWlY4TU1KRlBQTDhLS0g7RkZBQkZGQDlBQDtDPj02Ozw8");
                sb.Append("NTg5ODNGQkI6MFFPSR1IR0MoV1ZOG19fWAcAAAAAAAAAAAAAAADAwMD/AABhfAAJifgAEZ/5AA6c+AAMmPgADJX5AAyS+AAMkPgAC434AAuK+AALiPkAC4b4AA2G+AAP");
                sb.Append("hvkAEYf4ABSJ+AUXk/nAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAADAwMD/AABifwAOjP8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/AB+t/wAisP8AJ7X/Ayy6/wky");
                sb.Append("wP8ON8X/FT7M/xQ8yf/AwMD/AAAAAAAAAAAAAAAAAAAAAAAAAADAwMD/AABqfwAOlP8AH63/AB+t/wAfrf8AH63/AB+t/wAfrf8AH63/ACOx/wEpt/8FLrz/CjPB/xA5");
                sb.Append("x/8VPsz/G0TS/yRN2//AwMD/AAAAAAAAAAAAAAAAAAAAAAAAAADAwMD/AAB2fwAQnf8AH63/AB+t/wAfrf8AH63/AB+t/wAgrv8AJLL/Aiu5/wYvvf8MNcP/EjvJ/xdA");
                sb.Append("zv8cRdP/IUrY/zZf7P/AwMD/AAAAAAAAAAAAAAAAAAAAAAAAAADAwMD/AACBfwAbqf8AJrT/ACSy/wAisP8AIK7/ACCu/wAjsf8CJbP/BSa0/wgpt/8KK7n/DS27/xAw");
                sb.Append("vv8SMsD/FTXD/y5W4//AwMD/RDYtMQAAAAAAAAAAAAAAAAAAAABKJhpyPCA5pyoeWNgoFlHbJhJP2CUPS9cjDkbbIQxE2SAKQNgeCTzZHAg62BoGN9oZBjXYFwUy1xYD");
                sb.Append("L9sVAy7ZEwIs2BIBMtcpFxSPAAAAAD98iAEAAAAAAAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAA1Dwv+UyEH/1QiB/9XJAn/XSgM/2ItD/9oMxP/bTgY/3M9Hf95QyL/f0kp/4RQL/+JVjb/j10+/5Rj");
                sb.Append("Rf+aak7/oHFX/6Z5YP+sgmz/VzAV2TBgggIAAAAAAAAAAAAAAAA/Fg7+VSIH/1snCv9hLQ7/aTQS/3A7GP92Qh7/fUol/4RRLP+NWjT/k2M9/5ttRv+idlD/qH9b/6+J");
                sb.Append("Zv+3knL/vZ1+/8Wniv/Mspr/akUn2CRHXAIAAAAAAAAAAAAAAABJHxP+XCgL/2MvD/9qNhT/cT0Z/3hFH/9/TCf/h1Mu/45dNv+UZUD/nW9J/6N4U/+qgl7/sotq/7iU");
                sb.Append("dv/AoIL/xqmO/82ynP/Vvqr/hmdJ2BIhJgIAAAAAAAAAAAAAAABWLBf+ZTAR/204Ff9zPxv/e0ci/4JOKf+KVzH/kWA6/5hqQ/+gc03/pnxY/62GY/+1kG//vJt6/8Ol");
                sb.Append("h//JrpX/0bii/9bCr//dz77/oo532AcKCgIAAAAAAAAAAAAAAABjPiPwbz4e7249H/FuPB/ubDsg8W07Ie9sOiLuazkk8ms6Je5rOSbvajko8Ws5Ku5pOSzxaDkt7Wg6");
                sb.Append("L+xoOzLwaDs17Gg8OOxpPzzvgGVbyQoSDQIAAAAAAAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAA");
                sb.Append("AADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAYADpAGAA5wBfAOoAXQDmAFwA6gBbAOgAWgDmAFoA6wBaAOYAWgDnAFoA6gBbAOYAWADrODMtSkw/");
                sb.Append("NSvAwMD/Sj0zK0c8MzPAwMD/RDYtGgAAAAAAAAAAAAAAAAAAAAAAVQD+AIkA/wCVBf8Bnw//C6oa/xa1Jf8gvy//K8o6/zfWRv9D4lL/Texc/1n4aP8stzP/KionSAAA");
                sb.Append("AADAwMD/AAAAADc3NwjAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAXAD+AJQF/wOhEf8Mqxv/F7Ym/yHAMP8tzDz/ONdH/0PiUv9N7Fz/WPdn/2P+cv81zT//Ojo3SAAA");
                sb.Append("AADAwMD/AAAAADc3NwjAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAZAD+BKER/xCvH/8auSn/JcQ0/zDPP/872kr/RuVV/1DvX/9c+2v/Zv91/3D/f/9S5mD/UVFMSAAA");
                sb.Append("AADAwMD/AAAAADc3NwjAwMD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAbwD+EK8f/xq5Kf8kwzP/Lcw8/zbVRf9A30//SehY/1PyYv9b9mr/ZPpz/23+fP9q/Xn/bm5pSE5B");
                sb.Append("NzDAwMD/TkE3MEo+NzXAwMD/TkE3IQAAAAAAAAAAAAAAAAAAAAAlXSKjG0kbnRlFGJ0WQRadFD4TnRI6EZ0QNw+dDjUNnQwyC50LMAqdCi8JnggtCJ0JNwieS0tFKwAA");
                sb.Append("AAA4ODcdAAAAADU1NQU1NTUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Qf///0HAAAFBwAAHQcAAB0HAAAdBwAAHQcAAA0HAAAVB2223QcAAAUHAAAFBwAABQcAAAUHAAAFB2223QcAA");
                sb.Append("A0HAAKdBwACnQcAAp0HAAANBwACnQf///0H///9BKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAampoHkVFcWE1OYB3Li90ey4tbnYnJ2R8JiZfeCMjWHohIFN7Hh5MdxwcSHwkJE5sNjZKPFlZ");
                sb.Append("UQ8AAAAAAAAAAMDAwP8AAGaqAByq/wAdq/8AHav/AByq/wAcqv8AHKr/ACGv/wMotv8IL73/FD3L/xwudG0AAAAAAAAAAAAAAADAwMD/AAB3qgAerP8AH63/AB+t/wAf");
                sb.Append("rf8AIK7/ACa0/wYvvf8NNsT/Fj/N/yNM2v8rP4ZtAAAAAAAAAAAAAAAAwMDA/wAGjKoAI7H/ACKw/wAgrv8AIK7/ASSy/wUpt/8KLrz/EDPB/xU4xv8fQ9H/OU6UbVlZ");
                sb.Append("USoAAAAAAAAAAMDAwP8AAAAAAAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAAAAAADAwMD/AAAAAMDAwP8AAAAAAAAAAAAAAAA/GhJrQCAu0DcbOeY2GDflNxc05jcW");
                sb.Append("M+U4FzDmOBcw5TgYL+Y4GC7mORov5TkbMOVGJyzEOTQwYAAAAAAAAAAAPBQNqlYjCP9dKgz/aDMS/3I+Gv99SST/iFYw/5NjPf+ecUv/qH9b/7OObP++nX7/ya2T/1FF");
                sb.Append("OpIAAAAAAAAAAEwiFKpgLA3/azYU/3VBHf+ATCf/i1kz/5VmQP+hdE//qoJf/7aRcf/AoIP/yq6W/9W+q/9jVEKSAAAAAAAAAABfOR+jbTsa9XA+HvRyQSL1dkQn9HlI");
                sb.Append("LfV9TTT0gFI79YNXQ/WGXErziWJU9IxoXfKQb2j0YVNJiwAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAMDAwP8AAAAAAAAAAMDAwP8AAAAAAAAAAMDAwP8AAAAAwMDA/wAA");
                sb.Append("AAAAAAAAAAAAAABcAKAAbgDxAHID7wR2CfEJew7vD4AU8RSFGe8aix/wFH8X8UE4L0/AwMD/OjMrOsDAwP84Mio4AAAAAAAAAAAAWgCqAJQG/welFf8WtSX/JsU1/zfW");
                sb.Append("Rv9H5lb/V/Zm/0LZTv81NTIwwMDA/wAAAADAwMD/AAAAAAAAAAAAAAAAAGYAqgqoGP8buir/LMs7/zzbS/9M7Fz/Xfps/2z+e/9k83L/U01FS8DAwP9OQTc+wMDA/05B");
                sb.Append("NzAAAAAAAAAAABhkF4EZbB2+GmwevhtsIL4dbSK+H24jviFvJb4jcSi+J3csvllZVCPAwMD/AAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
                sb.Append("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//6xBgAGsQYADrEGAA6xBgAGsQbtrrEGAAaxBgAGsQYABrEGAAaxBu2usQYABrEGAC6xBgAGsQYAL");
                sb.Append("rEH//6xB");
                return ConvertStringToIcon(sb.ToString());
            }
        }
        /// <summary>
        /// Resetuje ikonu v paměti.
        /// Následující použití property TraceVisualiser_Direct si vytvoří nový, korektní - podle jeho originální deklarace.
        /// Tuto metodu je vhodné použít v situaci, kdy je správnost obrázku v paměti nejistá.
        /// </summary>
        public static void TraceVisualiser_Reset()
        {
            _TraceVisualiser = null;
        }
        /// <summary>
        /// Úložiště objektu v paměti, při prvním použití TraceVisualiser_Direct je objekt naplněn a následně využíván.
        /// </summary>
        private static System.Drawing.Icon _TraceVisualiser = null;
        #endregion
        #region SPOLEČNÉ METODY PRO KONVERZI
        /// <summary>
        /// Vrátí Image z definice (string). Image generuje buď v paměti, anebo s pomocí souboru.
        /// Pokud není zadán parametr (cacheFileName) (když je null), generuje se Image v paměti.
        /// Pokud je soubor (cacheFileName) definován, pak se Image čte z něj.
        /// Pokud soubor neexistuje, nejprve se vytvoří.
        /// Umístění souboru (adresář) je dán property _ImageCacheDir, defaultně je to adresář (Sys:\Documents and Settings\All Users\Data aplikací\IconCache).
        /// Obsah obrázku definuje metoda getDataMethod.
        /// </summary>
        /// <param name="getDataMethod"></param>
        /// <param name="cacheFileName"></param>
        /// <returns></returns>
        private static System.Drawing.Image _ImageCreateFrom(_GetStringDelegate getDataMethod, string cacheFileName)
        {
            System.Drawing.Image image;
            if (cacheFileName == null)
            {
                using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Convert.FromBase64String(getDataMethod())))
                {
                    image = System.Drawing.Image.FromStream(ms);
                }
                return image;
            }
            string fileName = System.IO.Path.Combine(_ImageCacheDir, cacheFileName);
            if (!System.IO.File.Exists(fileName))
                System.IO.File.WriteAllBytes(fileName, Convert.FromBase64String(getDataMethod()));
            if (System.IO.File.Exists(fileName))
                return Image.FromFile(fileName);
            return null;
        }
        /// <summary>
        /// Obsahuje jméno adresáře, který slouží jako Cache pro obrázky systému.
        /// </summary>
        private static string _ImageCacheDir
        {
            get
            {
                if (__ImageCacheDir == null)
                    __ImageCacheDir = Noris.Tools.TraceVisualiser.Support.Steward.GetUserAppDataPath(@"IconCache\PicsLib");
                return __ImageCacheDir;
            }
        }
        private static string __ImageCacheDir;
        /// <summary>
        /// Předpis pro metody, které generují obsah souboru s daty
        /// </summary>
        /// <returns></returns>
        private delegate string _GetStringDelegate();
        /// <summary>
        /// Vrátí Icon z dat (string), která jsou předána na vstup v kódování Base64
        /// </summary>
        /// <param name="data">Vstupní data v kódování Base64</param>
        /// <returns>Icon vytvořená z dat</returns>
        public static System.Drawing.Icon ConvertStringToIcon(string data)
        {
            System.Drawing.Icon icon;
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Convert.FromBase64String(data)))
            {
                icon = new System.Drawing.Icon(ms);
            }
            return icon;
        }
        /// <summary>
        /// Vrátí Cursor z dat (string), která jsou předána na vstup v kódování Base64
        /// </summary>
        /// <param name="data">Vstupní data v kódování Base64</param>
        /// <returns>Cursor vytvořený z dat</returns>
        public static System.Windows.Forms.Cursor ConvertStringToCursor(string data)
        {
            System.Windows.Forms.Cursor cursor;
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Convert.FromBase64String(data)))
            {
                cursor = new System.Windows.Forms.Cursor(ms);
            }
            return cursor;
        }
        #endregion
    }
}
